#pragma once

#include <string>

class CException
{
public:
	virtual string GetDescription() = 0;
};

class CSolveDoesntExistException: public CException
{
public:
	string GetDescription()
	{
		return string( "Cant solve dis" );
	};
};

class CIncorrectPositionException: public CException
{
public:
	string GetDescription()
	{
		return string( "Position is incorrect" );
	};
};

class OutOfRangeException: public CException
{
public:
	string GetDescription()
	{
		return string( "Out of Range" );
	}
};

class WayDoesntExistException: public CException
{
public:
	string GetDescription()
	{
		return string( "Way does not exist" );
	}
};

class IncorrectWeight: public CException
{
public:
	string GetDescription()
	{
		return string( "Weight is incorrect" );
	}
};

class IncorrectEdge: public CException
{
public:
	string GetDescription()
	{
		return string( "Edge is incorrect" );
	}
};